#pragma once

#ifdef FDI2RAW

struct FDI;

// #ifdef __cplusplus
// extern "C" {
// #endif

extern int fdi2raw_loadtrack(FDI*, ushort* mfmbuf, ushort* tracktiming, int track, int* tracklength, int* indexoffset, int* multirev, int mfm);
extern int fdi2raw_loadrevolution(FDI*, ushort* mfmbuf, ushort* tracktiming, int track, int* tracklength, int mfm);
extern FDI* fdi2raw_header(struct zfile* f);
extern void fdi2raw_header_free(FDI*);
extern int fdi2raw_get_last_track(FDI*);
extern int fdi2raw_get_num_sector(FDI*);
extern int fdi2raw_get_last_head(FDI*);
extern int fdi2raw_get_type(FDI*);
extern int fdi2raw_get_bit_rate(FDI*);
extern int fdi2raw_get_rotation(FDI*);
extern int fdi2raw_get_write_protect(FDI*);

// #ifdef __cplusplus
// }
// #endif

#endif